<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
//			var overtime = (function() {
//			  var args = [];
//			  return function() {
//			    if(arguments.length === 0) {
//			      var time = 0;
//			      for (var i = 0, l = args.length; i < l; i++) {
//			        time += args[i];
//			      }
//			      return time;
//			    }else {
//			      [].push.apply(args, arguments);
//			    }
//			  }
//			})();
//			overtime(3.5);    // 第一天
//			overtime(4.5);    // 第二天
//			overtime(2.1);    // 第三天
//			console.log(overtime());  // 10.1
//			console.log(overtime());  // 10.1
//			console.log(overtime());  // 10.1
	    function Person(name, age) {
	        this.name = name;
	        this.age = age;
	        this.alertName = function () {
	            console.log(this.name);
	        }
	        this.alertAge = function () {
	            console.log(this.age);
	        }
	    }
	    function webDever(name, age, sex) {
			 console.log(this);
	         Person.call(this, name, age);
	         console.log(this);
	        this.sex = sex;
	        this.alertSex = function () {
	            console.log(this.sex);
	        }
	    }
	    var test = new webDever("愚人码头", 28, "男");
	    test.alertName();//愚人码头
	    test.alertAge();//28
	    test.alertSex();//男
	    
	    Cat.prototype = new Animal();
		// 感谢 @学无止境c 的提醒，组合继承也是需要修复构造函数指向的。
		Cat.prototype.constructor = Cat;
		</script>
	</body>
</html>
